<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>问题详情页</title>
        <meta name="description" content="Charcoal is a free Bootstrap 4 UI kit build by @attacomsian at Wired Dots." />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!--Bootstrap 4-->
        <link rel="stylesheet" href="css/bootstrap.min.css">
    </head>
    <body>

        <nav class="navbar navbar-expand-md navbar-dark fixed-top sticky-navigation">
            <a class="navbar-brand font-weight-bold" href="#">在线oj系统</a>
        

            <div class="collapse navbar-collapse" id="topMenu">
                <ul class="navbar-nav ml-auto">
                    <li class="nav-item active">
                        <a class="nav-link page-scroll" href="login.html">登录 <span class="sr-only">(current)</span></a>
                    </li>              
            </div>
        </nav>

        <!--hero section-->
        <section class="bg-hero">
            <div class="container">
                <div class="row vh-100">
                    <div class="col-sm-12 my-auto text-center">
                        <h1>在线oj系统</h1>
                        <p class="lead text-capitalize my-4">
                            基于java Servlet 实现的oj系统
                        </p>
                        <a href="https://gitee.com" class="btn btn-outline-light btn-radius btn-lg">项目连接</a>
                    </div>
                </div>
            </div>
        </section>

        <!--components-->
        <section class="my-5 pt-5">
            <div class="container">
                <div class="row mt-4">
                    <div class="col-sm-12 pb-4">        
                        <div class="jumbotron jumbotron-fluid">
                            <div class="container" id="problemDesc">
                                <!-- <h1>Container fluid size jumbotron</h1>
                                <p>Think BIG with a Bootstrap Jumbotron!</p> -->
                            </div>
                        </div>
                    </div> 
                </div>

                <div class="row mt-4">
                    <div class="col-sm-12 pb-4">
                        <div class="form-group">
                             <label for="codeEditor">代码编辑框</label>
                             <div id="editor" style="min-height: 400px">
                                <textarea class="form-control" id="codeEditor" style="width: 100%; height: 400px;"></textarea>
                            </div>
                        </div>
                        <button type="button" class="btn btn-success" id="submitButton">提交按钮</button>
                    </div>
                </div>

                <div class="row mt-4">
                    <div class="col-sm-12 pb-4">        
                        <div class="jumbotron jumbotron-fluid">
                            
                            <div class="container" >
                                <pre id="problemResult">

                                </pre>
                                <!-- <h1>Container fluid size jumbotron</h1>
                                <p>Think BIG with a Bootstrap Jumbotron!</p> -->
                            </div>
                        </div>
                    </div> 
                </div>
            </div>      
        </section>

        
        <!--footer-->
        <section class="py-5 bg-dark">
            <div class="container">
                <div class="row">
                    <div class="col-md-6 offset-md-3 col-sm-8 offset-sm-2 col-xs-12 text-center">
                        <!-- <h3>Upgrade to Pro Version</h3>
                        <p class="pt-2">
                            We are working on <b>Charcoal Pro</b> which will be released soon. The pro version 
                            will have a lot more components, sections, icons, plugins and example pages. 
                            Join the waiting list to get notified when we release it (plus discount code).
                        </p>
                        <a class="btn btn-warning" href="https://wireddots.com/newsletter">Join Waiting List</a>
                        <hr class="my-5"/> -->
                        <p class="pt-2 text-muted">
                            &copy;  by 谢超帮
                            

                    </div>
                </div>
            </div>
        </section>

        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
        <script src="js/app.js"></script>

        <!-- 代码编辑ace.js  本地-->
        <script src="https://cdn.bootcdn.net/ajax/libs/ace/1.2.9/ace.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/ace/1.2.9/ext-language_tools.js"></script>
    
        <script>

            function initAce(){
                let editor = ace.edit("editor");
                editor.setOptions({
                    enableBasicAutocompletion:true,
                    enableSnippets:true,
                    enableLiveAutocompletion:true
                });
                editor.setTheme("ace/theme/twilight");
                editor.session.setMode("ace/mode/java");
                editor.resize();
                document.getElementById('editor').style.fontSize='20px';

                return editor;
            }
           let editor =  initAce();
            console.log(location.search);//得到当前页面的queryString
           // 通过 ajax 从服务器获取题目详情
           getProblemDesc();
           function getProblemDesc(){
               //向服务器发起请求
               jQuery.ajax({
                   url:"problemdetail"+location.search,
                   type:"get",
                   success: function(data,status){
                       makeProblemDetail(data);
                   }
               })
           }

           function makeProblemDetail(problem){
                //1.获取题目详情
                let problemDesc = document.querySelector("#problemDesc");
                let h1 = document.createElement("h1");
                h1.innerHTML = problem.id +"." + problem.title +"_" + problem.level ;
                problemDesc.appendChild(h1);
                let pre = document.createElement("pre");
                
                let p = document.createElement("p");
                p.innerHTML= problem.description;
                pre.appendChild(p);
                problemDesc.appendChild(pre);

                //2.代码的模板添加到编辑框中
                // let codeEditor = document.querySelector("#codeEditor");
                // codeEditor.innerHTML = problem.tmplateCode;
                editor.setValue(problem.templateCode);
                

                //3.给提交按钮一个点击事件
                let submitButton = document.querySelector("#submitButton");
                submitButton.onclick = function(){
                    let body={
                        id:problem.id,
                        code:editor.getValue(),
                    };
                    jQuery.ajax({
                        url:"compile",
                        type:"post",
                        contentType : "application/json",
                        data:JSON.stringify(body),
                        success:function(data,status){
                            let pronlemResult = document.querySelector("#problemResult");
                            if(data.error == 0){
                                //编译运行没有问题 把stdout 设置到屏幕中
                                pronlemResult.innerHTML = data.stdout;
                            }else{
                                pronlemResult.innerHTML = data.reason;
                            }
                        }
                    })
                }
           } 
        </script>
    </body>
</html>
